home *** CD-ROM | disk | FTP | other *** search
/ Gekkan Dennou Club 147 / Gekkan Dennou Club - 2000.8 Vol. 147 (Japan).7z / Gekkan Dennou Club - 2000.8 Vol. 147 (Japan) (Track 1).bin / fdimg / oh!.2hd / OH!DEN_B.LZH / TOOLS / CDC / CDCSXSRC.LZH / DRAWWIN.HAS < prev    next >
Text File  |  1995-03-20  |  20KB  |  978 lines

  1. *ウィンドウ描画とコントロール生成廃棄
  2.  
  3.     .include    DOSCALL.MAC
  4.     .include    SXCALL.MAC
  5.     .include    SXCALL.H
  6.     .include    YOU200.MAC
  7.     .include    HASMACRO.MAC
  8.     .include    WORK.INC
  9.     .include    FLAG.INC
  10.  
  11.     .include    CDC.MAC
  12. TIME_X        =    63
  13. TIME_Y        =    63
  14. TIMECOLONE    =    TIME_X+16+16
  15. 背景        =    220        *ウィンドウの地#ID
  16. *==============================================*
  17. .xref    _ULDrawUsingL
  18. .xref    _ULUsingL
  19. DrawWin::
  20.  
  21.     ifne    <tst.w    Back2_Flg(a5)>
  22.  
  23.         move.l    #-1,d0
  24.         lea.l    曲名Flg(a5),a0
  25.         move.l    d0,(a0)+
  26.         move.l    d0,(a0)+
  27.         move.l    d0,(a0)+
  28.         move.l    d0,(a0)+
  29.         move.l    d0,(a0)+
  30.         move.w    d0,(a0)
  31.         move.w    d0,Led曲数Flg(a5)
  32.         move.w    d0,DrawSwitch(a5)
  33.         move.w    d0,DrawPlay(a5)
  34.         move.w    #-1,曲番Flg(a5)
  35.  
  36.         move.w    #背景,-(sp)
  37.         move.l    #'PAT4',-(sp)
  38.         SX    __TSRscGet,6
  39.         move.l    a0,LEDHDL(a5)
  40.         HDL2PTR    LEDHDL(a5),a0
  41.         move.l    #0,-(sp)
  42.         pea.l    (a0)
  43.         SX    __GMPutRImg,8
  44.  
  45.         Xpea    winPtr(a5)
  46.         SX    __CMDraw,4
  47.  
  48.     endif
  49.  
  50.     ifne    <tst.w    Back_Flg(a5)>
  51.         move.w    #148,-(sp)
  52.         move.l    #'PAT4',-(sp)
  53.         SX    __TSRscGet,6
  54.         move.l    a0,LEDHDL(a5)
  55.         HDL2PTR    LEDHDL(a5),a0
  56.         move.l    #(TIMECOLONE)*$10000+TIME_Y,-(sp)
  57.         pea.l    (a0)
  58.         SX    __GMPutRImg,8
  59.     endif
  60.  
  61.     move.l    d1,-(sp)
  62.     ifne    <tst.w    ML_Flg(a5)>
  63.         moveq    #0,d1
  64.         move.w    MIN_low(a5),d1
  65.         add.l    d1,d1
  66.         add.l    #128,d1
  67.         move.w    d1,-(sp)
  68.         move.l    #'PAT4',-(sp)
  69.         SX    __TSRscGet,6
  70.         move.l    a0,LEDHDL(a5)
  71.         HDL2PTR    LEDHDL(a5),a0
  72.         move.l    #(TIME_X+16)*$10000+TIME_Y,-(sp)
  73.         pea.l    (a0)
  74.         SX    __GMPutRImg,8    *分の1位
  75.     endif
  76.  
  77.     ifne    <tst.w    MH_Flg(a5)>
  78.         moveq    #0,d1
  79.         move.w    MIN_hi(a5),d1
  80.         add.l    d1,d1
  81.         add.l    #128,d1
  82.         move.w    d1,-(sp)
  83.         move.l    #'PAT4',-(sp)
  84.         SX    __TSRscGet,6
  85.         move.l    a0,LEDHDL(a5)
  86.         HDL2PTR    LEDHDL(a5),a0
  87.         move.l    #TIME_X*$10000+TIME_Y,-(sp)
  88.         pea.l    (a0)
  89.         SX    __GMPutRImg,8    *分の10位
  90.     endif
  91.  
  92.     ifne    <tst.w    SL_Flg(a5)>
  93.         moveq    #0,d1
  94.         move.w    SEC_low(a5),d1
  95.         add.l    d1,d1
  96.         add.l    #128,d1
  97.         move.w    d1,-(sp)
  98.         move.l    #'PAT4',-(sp)
  99.         SX    __TSRscGet,6
  100.         move.l    a0,LEDHDL(a5)
  101.         HDL2PTR    LEDHDL(a5),a0
  102.         move.l    #(TIME_X+16+8+16+16)*$10000+TIME_Y,-(sp)
  103.         pea.l    (a0)
  104.         SX    __GMPutRImg,8    *秒の1位
  105.     endif
  106.  
  107.     ifne    <tst.w    SH_Flg(a5)>
  108.         moveq    #0,d1
  109.         move.w    SEC_hi(a5),d1
  110.         add.l    d1,d1
  111.         add.l    #128,d1
  112.         move.w    d1,-(sp)
  113.         move.l    #'PAT4',-(sp)
  114.         SX    __TSRscGet,6
  115.         move.l    a0,LEDHDL(a5)
  116.         HDL2PTR    LEDHDL(a5),a0
  117.         move.l    #(TIME_X+16+16+8)*$10000+TIME_Y,-(sp)
  118.         pea.l    (a0)
  119.         SX    __GMPutRImg,8    *秒の10位
  120.     endif
  121.     move.l    (sp)+,d1
  122.  
  123.     ifne    <tst.w    タイトルFlg(a5)>
  124.         move.w    #G_BACK*$100+G_PSET,-(sp)
  125.         SX    __GMPenMode,2
  126.         pea    題RECT(pc)
  127.         SX    __GMFillRect,4
  128.         move.w    #G_PSET,-(sp)
  129.         SX    __GMFontMode,2
  130.         move.l    #52*$10000+9,-(sp)
  131.         SX    __GMMove,4
  132.         move.l    タイトルptr(a5),-(sp)
  133.         SX    __GMDrawStrZ,4
  134.     endif
  135.  
  136.  
  137.     ifne    <tst.w    曲名Flg(a5)>
  138.         move.w    #G_BACK*$100+G_PSET,-(sp)
  139.         SX    __GMPenMode,2
  140.         pea    曲RECT(pc)
  141.         SX    __GMFillRect,4
  142.         move.w    #G_PSET,-(sp)
  143.         SX    __GMFontMode,2
  144.         move.l    #52*$10000+9+4+12,-(sp)
  145.         SX    __GMMove,4
  146.         move.l    曲名ptr(a5),-(sp)
  147.         SX    __GMDrawStrZ,4
  148.         move.w    #0,曲名Flg(a5)
  149.     endif
  150.  
  151.     ifne    <tst.w    曲番Flg(a5)>
  152.         move.w    曲番10位(a5),d1
  153.         add.l    d1,d1
  154.         add.l    #128,d1
  155.         move.w    d1,-(sp)
  156.         move.l    #'PAT4',-(sp)
  157.         SX    __TSRscGet,6
  158.         move.l    a0,LEDHDL(a5)
  159.         HDL2PTR    LEDHDL(a5),a0
  160.         move.l    #19*$10000+TIME_Y,-(sp)
  161.         pea.l    (a0)
  162.         SX    __GMPutRImg,8
  163.  
  164.         move.w    曲番1位(a5),d1
  165.         add.l    d1,d1
  166.         add.l    #128,d1
  167.         move.w    d1,-(sp)
  168.         move.l    #'PAT4',-(sp)
  169.         SX    __TSRscGet,6
  170.         move.l    a0,LEDHDL(a5)
  171.         HDL2PTR    LEDHDL(a5),a0
  172.         move.l    #(19+16)*$10000+TIME_Y,-(sp)
  173.         pea.l    (a0)
  174.         SX    __GMPutRImg,8
  175.  
  176.         move.w    #0,曲番Flg(a5)
  177.     endif
  178.  
  179.     ifne    <tst.w    TimeMode2(a5)>
  180.         move.w    TimeMode(a5),d0
  181.         add.w    d0,d0
  182.         add.w    #300,d0
  183.         move.w    d0,-(sp)
  184.         move.l    #'PAT4',-(sp)
  185.         SX    __TSRscGet,6
  186.         move.l    a0,LEDHDL(a5)
  187.         HDL2PTR    LEDHDL(a5),a0
  188.         move.l    #(TIME_X)*$10000+49,-(sp)
  189.         pea.l    (a0)
  190.         SX    __GMPutRImg,8
  191.  
  192.         move.w    #0,TimeMode2(a5)    *元に戻す
  193.     endif
  194.  
  195. ***PLAY/PAUSE LEDの表示
  196. P_LED_Y    =    80
  197.  
  198.     ifmi    <tst.w    DrawPlay(a5)>
  199.         ifeq    <cmp.w    #1,PLAY中(a5)>
  200.             move.w    #310,-(sp)
  201.         elseifeq <cmp.w    #2,PLAY中(a5)> 
  202.             move.w    #312,-(sp)
  203.         elseifeq <cmp.w    #3,PLAY中(a5)>
  204.             move.w    #314,-(sp)
  205.         else
  206.             bra    @f        *エラー回避(…)
  207.         endif
  208.         move.l    #'PAT4',-(sp)
  209.         SX    __TSRscGet,6
  210.         move.l    a0,LEDHDL(a5)
  211.         HDL2PTR    LEDHDL(a5),a0
  212.         move.l    #19*$10000+P_LED_Y,-(sp)
  213.         pea.l    (a0)
  214.         SX    __GMPutRImg,8
  215.         move.w    #0,DrawPlay(a5)
  216.     endif
  217. @@:
  218. ***モード表示LEDの表示        PrgM    RndP    AllR    Rept
  219. M_LED    =    23
  220. M_LED_X    =    38
  221.     ifmi    <tst.w    DrawSwitch(a5)>
  222.  
  223.             move.w    RandomFlg(a5),-(sp)
  224.             move.l    RndPbtnHdl(a5),-(sp)
  225.             SX    __CMValueSet,6
  226.             move.w    RepeatFlg(a5),-(sp)
  227.             move.l    ReptbtnHdl(a5),-(sp)
  228.             SX    __CMValueSet,6
  229.             move.w    AutoFlg(a5),-(sp)
  230.             move.l    AllRbtnHdl(a5),-(sp)
  231.             SX    __CMValueSet,6
  232.             move.w    PrgFlg(a5),-(sp)
  233.             move.l    PrgMbtnHdl(a5),-(sp)
  234.             SX    __CMValueSet,6
  235.  
  236.         ifeq    <cmp.w    #1,RandomFlg(a5)>
  237.             move.w    #500,-(sp)
  238.         else
  239.             move.w    #502,-(sp)
  240.         endif
  241.         move.l    #'PAT4',-(sp)
  242.         SX    __TSRscGet,6
  243.         move.l    a0,LEDHDL(a5)
  244.         HDL2PTR    LEDHDL(a5),a0
  245.         move.l    #M_LED_X*$10000+P_LED_Y,-(sp)
  246.         pea.l    (a0)
  247.         SX    __GMPutRImg,8
  248.  
  249.         ifeq    <cmp.w    #1,RepeatFlg(a5)>
  250.             move.w    #510,-(sp)
  251.         else
  252.             move.w    #512,-(sp)
  253.         endif
  254.         move.l    #'PAT4',-(sp)
  255.         SX    __TSRscGet,6
  256.         move.l    a0,LEDHDL(a5)
  257.         HDL2PTR    LEDHDL(a5),a0
  258.         move.l    #(M_LED_X+M_LED)*$10000+P_LED_Y,-(sp)
  259.         pea.l    (a0)
  260.         SX    __GMPutRImg,8
  261.  
  262.         ifeq    <cmp.w    #1,AutoFlg(a5)>
  263.             move.w    #520,-(sp)
  264.         else                *全曲リピート
  265.             move.w    #522,-(sp)
  266.         endif
  267.         move.l    #'PAT4',-(sp)
  268.         SX    __TSRscGet,6
  269.         move.l    a0,LEDHDL(a5)
  270.         HDL2PTR    LEDHDL(a5),a0
  271.         move.l    #(M_LED_X+M_LED*2)*$10000+P_LED_Y,-(sp)
  272.         pea.l    (a0)
  273.         SX    __GMPutRImg,8
  274.  
  275.         ifeq    <cmp.w    #1,PrgFlg(a5)>
  276.             move.w    #530,-(sp)
  277.         else                *プログラム選曲
  278.             move.w    #532,-(sp)
  279.         endif
  280.         move.l    #'PAT4',-(sp)
  281.         SX    __TSRscGet,6
  282.         move.l    a0,LEDHDL(a5)
  283.         HDL2PTR    LEDHDL(a5),a0
  284.         move.l    #(M_LED_X+M_LED*3)*$10000+P_LED_Y,-(sp)
  285.         pea.l    (a0)
  286.         SX    __GMPutRImg,8
  287.  
  288.         move.w    #0,DrawSwitch(a5)
  289.     endif
  290.  
  291. Led_X        =    21
  292. Led_Xinc    =    11
  293. Led1_Y        =    92
  294. Led2_Y        =    103
  295. cd3_tr_all    =    6
  296.     ifne    <tst.w    Led曲数Flg(a5)>
  297.         move.l    cd3_tr_all(a2),d1
  298.         ifhi    <cmp.l    #20,d1>
  299.             move.l    #20,d1
  300.         endif
  301.  
  302.         ifeq    <tst.w    CdSetFlg(a5)>
  303.             moveq    #0,d1
  304.         endif
  305.  
  306.         addq.l    #1,d1
  307.         movem.l    d1-d5,-(sp)
  308.         ifne    <tst.l    d1>
  309.  
  310.  
  311.             move.l    #550,d2
  312.             move.l    #Led_X*$10000+Led1_Y,d3
  313.             moveq    #0,d4
  314.  
  315.             repeat
  316.                 move.w    d2,-(sp)
  317.                 move.l    #'PAT4',-(sp)
  318.                 SX    __TSRscGet,6
  319.                 move.l    a0,LEDHDL(a5)
  320.                 HDL2PTR    LEDHDL(a5),a0
  321.  
  322.                 move.l    d3,-(sp)
  323.                 pea.l    (a0)
  324.                 SX    __GMPutRImg,8
  325.                 addq.l    #1,d2
  326.  
  327.                 ifeq    <cmpi.l    #0,d4>
  328.  
  329.                 elseifeq <cmpi.l #10,d4>
  330.                     move.w    #Led2_Y,d3
  331.                     swap    d3
  332.                     move.w    #Led_X,d3
  333.                     swap    d3
  334.                 else
  335.                     swap    d3
  336.                     add.w    #Led_Xinc,d3
  337.                     swap    d3
  338.                 endif
  339.                 addq.l    #1,d4
  340.             untileq <cmp.l    d1,d4>
  341.         endif
  342.         movem.l    (sp)+,d1-d5
  343.         move.w    #0,Led曲数Flg(a5)
  344.     endif
  345.  
  346. rts
  347.  
  348. 題RECT:    dc.w    13,9,302,9+14
  349. 曲RECT:    dc.w    13,9+15,302,9+15+14
  350. .even
  351. *==============================================*
  352. DrawIcn::
  353.     move.w    #%0111,-(sp)
  354.     SX    __GMAPage,2
  355.  
  356.     move.w    #G_GREEN,-(sp)
  357.     SX    __GMForeColor,2
  358.  
  359.     move.w    #G_DGRAY,-(sp)
  360.     SX    __GMBackColor,2
  361.  
  362.     ifne    <tst.w    IcnLogoFlg(a5)>
  363.         move.w    #204,-(sp)
  364.         move.l    #'PAT4',-(sp)
  365.         SX    __TSRscGet,6
  366.         move.l    a0,LEDHDL(a5)
  367.         HDL2PTR    LEDHDL(a5),a0
  368.         move.l    #$0,-(sp)
  369.         pea.l    (a0)
  370.         SX    __GMPutRImg,8
  371.     endif
  372.  
  373.     ifne    <tst.w    RingFlg(a5)>
  374.         ifeq    <tst.w    RingPic(a5)>
  375.             move.w    #202,-(sp)
  376.             move.w    #1,RingPic(a5)
  377.         elseifeq <cmpi.w #1,RingPic(a5)>
  378.             move.w    #200,-(sp)
  379.             move.w    #2,RingPic(a5)
  380.         elseifeq <cmpi.w #2,RingPic(a5)>
  381.             move.w    #203,-(sp)
  382.             move.w    #3,RingPic(a5)
  383.         elseifeq <cmpi.w #3,RingPic(a5)>
  384.             move.w    #201,-(sp)
  385.             move.w    #0,RingPic(a5)
  386.         endif
  387.         move.l    #'PAT4',-(sp)
  388.         SX    __TSRscGet,6
  389.         move.l    a0,LEDHDL(a5)
  390.         HDL2PTR    LEDHDL(a5),a0
  391.         move.l    #58*$10000+3,-(sp)
  392.         pea.l    (a0)
  393.         SX    __GMPutRImg,8
  394.     endif
  395.  
  396.     ifne    <tst.w    IcnLogoFlg(a5)>
  397.         ifne    <tst.w    IcnwinActive(a5)>
  398.             move.w    #602,-(sp)
  399.         else
  400.             move.w    #600,-(sp)
  401.         endif
  402.             move.l    #'PAT4',-(sp)
  403.             SX    __TSRscGet,6
  404.             move.l    a0,LEDHDL(a5)
  405.             HDL2PTR    LEDHDL(a5),a0
  406.             move.l    #4*$10000+4,-(sp)    *ロゴ
  407.             pea.l    (a0)
  408.             SX    __GMPutRImg,8
  409.     endif
  410.  
  411.     rts
  412. *==============================================*
  413. InitGraph::
  414.     SETPORT3    winPtr(a5)
  415.  
  416.     move.w    #%0111,-(sp)
  417.     SX    __GMAPage,2
  418.  
  419.     move.w    #G_GREEN,-(sp)
  420.     SX    __GMForeColor,2
  421.  
  422.     move.w    #G_BLACK,-(sp)
  423.     SX    __GMBackColor,2
  424.  
  425.     rts
  426. *==============================================*
  427. btnttl:    dc.b    0,0
  428. Playbtn_loc:    dc.w    247,81,313,112
  429. Stopbtn_loc:    dc.w    319,81,319+31,112
  430. SkpLbtn_loc:    dc.w    157,76,157+39,76+17
  431. SkpRbtn_loc:    dc.w    198,76,198+39,76+17
  432. ManLbtn_loc:    dc.w    157,99,157+39,99+17
  433. ManRbtn_loc:    dc.w    198,99,198+39,99+17
  434. Clobtn_loc:    dc.w    311,6,311+41,6+17
  435. Timebtn_loc:    dc.w    297,52,330,68
  436. Ejctbtn_loc:    dc.w    336,54,352,66
  437. Reptbtn_loc:    dc.w    149,52,182,68
  438. AllRbtn_loc:    dc.w    186,52,219,68
  439. RndPbtn_loc:    dc.w    223,52,256,68
  440. PrgMbtn_loc:    dc.w    260,52,293,68
  441. LOGObtn_loc:    dc.w    309,29,355,41
  442.  
  443. ofs    =    -8
  444. .offset    ofs
  445. tmpRes1:    ds.l    1
  446. tmpRes2:    ds.l    1
  447. .text
  448. .even
  449. *==============================================*
  450. CtrlInitproc::
  451.  
  452. link    a6,#ofs
  453.  
  454. ***PLAY/PAUSE
  455.     move.w    #400,-(sp)            *0    INACTIVE
  456.     move.l    #'PAT4',-(sp)
  457.     SX    __TSRscGet,6            *ローカルリソースゲット
  458.     move.l    a0,PlaybtnHdl+4(a5)
  459.  
  460.     move.w    #402,-(sp)            *1    ACTIVE
  461.     move.l    #'PAT4',-(sp)
  462.     SX    __TSRscGet,6
  463.     move.l    a0,PlaybtnHdl+8(a5)
  464.  
  465.     move.w    #404,-(sp)            *2    HILITE
  466.     move.l    #'PAT4',-(sp)
  467.     SX    __TSRscGet,6
  468.     move.l    a0,PlaybtnHdl+12(a5)
  469.  
  470.     SX    __TSCurResGet,0
  471.     move.l    a0,tmpRes1(a6)
  472.  
  473.     SX    __RMCurResGet,0
  474.     move.l    a0,tmpRes2(a6)
  475.  
  476.     move.l    tmpRes1(a6),-(sp)
  477.     SX    __RMCurResSet,4
  478.  
  479.     pea.l    PlaybtnHdl+4(a5)
  480.     move.w    #128*16,-(sp)
  481.     move.w    #1,-(sp)            *max
  482.     move.w    #0,-(sp)            *min(0に固定)
  483.     move.w    #0,-(sp)            *初期値
  484.     move.w    #-1,-(sp)            *可視
  485.     pea.l    btnttl(pc)
  486.     pea.l    Playbtn_loc(pc)
  487.     Xpea    winPtr(a5)
  488.     SX    __CMOpen,26
  489.     move.l    a0,PlaybtnHdl(a5)            *cHdl
  490.  
  491.     move.l    tmpRes2(a6),-(sp)
  492.     SX    __RMCurResSet,4
  493.  
  494.  
  495. ****STOP
  496.     move.w    #410,-(sp)            *0    INACTIVE
  497.     move.l    #'PAT4',-(sp)
  498.     SX    __TSRscGet,6            *ローカルリソースゲット
  499.     move.l    a0,StopbtnHdl+4(a5)
  500.  
  501.     move.w    #412,-(sp)            *1    ACTIVE
  502.     move.l    #'PAT4',-(sp)
  503.     SX    __TSRscGet,6
  504.     move.l    a0,StopbtnHdl+8(a5)
  505.  
  506.     move.w    #414,-(sp)            *2    HILITE
  507.     move.l    #'PAT4',-(sp)
  508.     SX    __TSRscGet,6
  509.     move.l    a0,StopbtnHdl+12(a5)
  510.  
  511.     SX    __TSCurResGet,0
  512.     move.l    a0,tmpRes1(a6)
  513.  
  514.     SX    __RMCurResGet,0
  515.     move.l    a0,tmpRes2(a6)
  516.  
  517.     move.l    tmpRes1(a6),-(sp)
  518.     SX    __RMCurResSet,4
  519.  
  520.     pea.l    StopbtnHdl+4(a5)
  521.     move.w    #128*16,-(sp)
  522.     move.w    #1,-(sp)            *max
  523.     move.w    #0,-(sp)            *min(0に固定)
  524.     move.w    #0,-(sp)            *初期値
  525.     move.w    #-1,-(sp)            *可視
  526.     pea.l    btnttl(pc)
  527.     pea.l    Stopbtn_loc(pc)
  528.     Xpea    winPtr(a5)
  529.     SX    __CMOpen,26
  530.     move.l    a0,StopbtnHdl(a5)            *cHdl
  531.  
  532.     move.l    tmpRes2(a6),-(sp)
  533.     SX    __RMCurResSet,4
  534.  
  535. ***REW SKIP
  536.     move.w    #420,-(sp)            *0    INACTIVE
  537.     move.l    #'PAT4',-(sp)
  538.     SX    __TSRscGet,6            *ローカルリソースゲット
  539.     move.l    a0,SkpLbtnHdl+4(a5)
  540.  
  541.     move.w    #422,-(sp)            *1    ACTIVE
  542.     move.l    #'PAT4',-(sp)
  543.     SX    __TSRscGet,6
  544.     move.l    a0,SkpLbtnHdl+8(a5)
  545.  
  546.     move.w    #424,-(sp)            *2    HILITE
  547.     move.l    #'PAT4',-(sp)
  548.     SX    __TSRscGet,6
  549.     move.l    a0,SkpLbtnHdl+12(a5)
  550.  
  551.     SX    __TSCurResGet,0
  552.     move.l    a0,tmpRes1(a6)
  553.  
  554.     SX    __RMCurResGet,0
  555.     move.l    a0,tmpRes2(a6)
  556.  
  557.     move.l    tmpRes1(a6),-(sp)
  558.     SX    __RMCurResSet,4
  559.  
  560.     pea.l    SkpLbtnHdl+4(a5)
  561.     move.w    #128*16,-(sp)
  562.     move.w    #1,-(sp)            *max
  563.     move.w    #0,-(sp)            *min(0に固定)
  564.     move.w    #0,-(sp)            *初期値
  565.     move.w    #-1,-(sp)            *可視
  566.     pea.l    btnttl(pc)
  567.     pea.l    SkpLbtn_loc(pc)
  568.     Xpea    winPtr(a5)
  569.     SX    __CMOpen,26
  570.     move.l    a0,SkpLbtnHdl(a5)            *cHdl
  571.  
  572.     move.l    tmpRes2(a6),-(sp)
  573.     SX    __RMCurResSet,4
  574.  
  575. ***FF SKIP
  576.     move.w    #430,-(sp)            *0    INACTIVE
  577.     move.l    #'PAT4',-(sp)
  578.     SX    __TSRscGet,6            *ローカルリソースゲット
  579.     move.l    a0,SkpRbtnHdl+4(a5)
  580.  
  581.     move.w    #432,-(sp)            *1    ACTIVE
  582.     move.l    #'PAT4',-(sp)
  583.     SX    __TSRscGet,6
  584.     move.l    a0,SkpRbtnHdl+8(a5)
  585.  
  586.     move.w    #434,-(sp)            *2    HILITE
  587.     move.l    #'PAT4',-(sp)
  588.     SX    __TSRscGet,6
  589.     move.l    a0,SkpRbtnHdl+12(a5)
  590.  
  591.     SX    __TSCurResGet,0
  592.     move.l    a0,tmpRes1(a6)
  593.  
  594.     SX    __RMCurResGet,0
  595.     move.l    a0,tmpRes2(a6)
  596.  
  597.     move.l    tmpRes1(a6),-(sp)
  598.     SX    __RMCurResSet,4
  599.  
  600.     pea.l    SkpRbtnHdl+4(a5)
  601.     move.w    #128*16,-(sp)
  602.     move.w    #1,-(sp)            *max
  603.     move.w    #0,-(sp)            *min(0に固定)
  604.     move.w    #0,-(sp)            *初期値
  605.     move.w    #-1,-(sp)            *可視
  606.     pea.l    btnttl(pc)
  607.     pea.l    SkpRbtn_loc(pc)
  608.     Xpea    winPtr(a5)
  609.     SX    __CMOpen,26
  610.     move.l    a0,SkpRbtnHdl(a5)            *cHdl
  611.  
  612.     move.l    tmpRes2(a6),-(sp)
  613.     SX    __RMCurResSet,4
  614.  
  615. ***CLOSE BOX
  616.     move.w    #460,-(sp)            *0    INACTIVE
  617.     move.l    #'PAT4',-(sp)
  618.     SX    __TSRscGet,6            *ローカルリソースゲット
  619.     move.l    a0,ClobtnHdl+4(a5)
  620.  
  621.     move.w    #462,-(sp)            *1    ACTIVE
  622.     move.l    #'PAT4',-(sp)
  623.     SX    __TSRscGet,6
  624.     move.l    a0,ClobtnHdl+8(a5)
  625.  
  626.     move.w    #464,-(sp)            *2    HILITE
  627.     move.l    #'PAT4',-(sp)
  628.     SX    __TSRscGet,6
  629.     move.l    a0,ClobtnHdl+12(a5)
  630.  
  631.     SX    __TSCurResGet,0
  632.     move.l    a0,tmpRes1(a6)
  633.  
  634.     SX    __RMCurResGet,0
  635.     move.l    a0,tmpRes2(a6)
  636.  
  637.     move.l    tmpRes1(a6),-(sp)
  638.     SX    __RMCurResSet,4
  639.  
  640.     pea.l    ClobtnHdl+4(a5)
  641.     move.w    #128*16,-(sp)
  642.     move.w    #1,-(sp)            *max
  643.     move.w    #0,-(sp)            *min(0に固定)
  644.     move.w    #0,-(sp)            *初期値
  645.     move.w    #-1,-(sp)            *可視
  646.     pea.l    btnttl(pc)
  647.     pea.l    Clobtn_loc(pc)
  648.     Xpea    winPtr(a5)
  649.     SX    __CMOpen,26
  650.     move.l    a0,ClobtnHdl(a5)            *cHdl
  651.  
  652.     move.l    tmpRes2(a6),-(sp)
  653.     SX    __RMCurResSet,4
  654.  
  655. ***EJECT
  656.     move.w    #490,-(sp)            *0    INACTIVE
  657.     move.l    #'PAT4',-(sp)
  658.     SX    __TSRscGet,6            *ローカルリソースゲット
  659.     move.l    a0,EjctbtnHdl+4(a5)
  660.  
  661.     move.w    #492,-(sp)            *1    ACTIVE
  662.     move.l    #'PAT4',-(sp)
  663.     SX    __TSRscGet,6
  664.     move.l    a0,EjctbtnHdl+8(a5)
  665.  
  666.     move.w    #494,-(sp)            *2    HILITE
  667.     move.l    #'PAT4',-(sp)
  668.     SX    __TSRscGet,6
  669.     move.l    a0,EjctbtnHdl+12(a5)
  670.  
  671.     SX    __TSCurResGet,0
  672.     move.l    a0,tmpRes1(a6)
  673.  
  674.     SX    __RMCurResGet,0
  675.     move.l    a0,tmpRes2(a6)
  676.  
  677.     move.l    tmpRes1(a6),-(sp)
  678.     SX    __RMCurResSet,4
  679.  
  680.     pea.l    EjctbtnHdl+4(a5)
  681.     move.w    #128*16,-(sp)
  682.     move.w    #1,-(sp)            *max
  683.     move.w    #0,-(sp)            *min(0に固定)
  684.     move.w    #0,-(sp)            *初期値
  685.     move.w    #-1,-(sp)            *可視
  686.     pea.l    btnttl(pc)
  687.     pea.l    Ejctbtn_loc(pc)
  688.     Xpea    winPtr(a5)
  689.     SX    __CMOpen,26
  690.     move.l    a0,EjctbtnHdl(a5)            *cHdl
  691.  
  692.     move.l    tmpRes2(a6),-(sp)
  693.     SX    __RMCurResSet,4
  694.  
  695.  
  696. ***TIME
  697.     move.w    #470,-(sp)            *0    INACTIVE
  698.     move.l    #'PAT4',-(sp)
  699.     SX    __TSRscGet,6            *ローカルリソースゲット
  700.     move.l    a0,TimebtnHdl+4(a5)
  701.  
  702.     move.w    #472,-(sp)            *1    ACTIVE
  703.     move.l    #'PAT4',-(sp)
  704.     SX    __TSRscGet,6
  705.     move.l    a0,TimebtnHdl+8(a5)
  706.  
  707.     move.w    #474,-(sp)            *2    HILITE
  708.     move.l    #'PAT4',-(sp)
  709.     SX    __TSRscGet,6
  710.     move.l    a0,TimebtnHdl+12(a5)
  711.  
  712.     SX    __TSCurResGet,0
  713.     move.l    a0,tmpRes1(a6)
  714.  
  715.     SX    __RMCurResGet,0
  716.     move.l    a0,tmpRes2(a6)
  717.  
  718.     move.l    tmpRes1(a6),-(sp)
  719.     SX    __RMCurResSet,4
  720.  
  721.     pea.l    TimebtnHdl+4(a5)
  722.     move.w    #128*16,-(sp)
  723.     move.w    #1,-(sp)            *max
  724.     move.w    #0,-(sp)            *min(0に固定)
  725.     move.w    #0,-(sp)            *初期値
  726.     move.w    #-1,-(sp)            *可視
  727.     pea.l    btnttl(pc)
  728.     pea.l    Timebtn_loc(pc)
  729.     Xpea    winPtr(a5)
  730.     SX    __CMOpen,26
  731.     move.l    a0,TimebtnHdl(a5)            *cHdl
  732.  
  733.     move.l    tmpRes2(a6),-(sp)
  734.     SX    __RMCurResSet,4
  735.  
  736.  
  737. ***REPT
  738.     move.w    #480,-(sp)            *0    INACTIVE
  739.     move.l    #'PAT4',-(sp)
  740.     SX    __TSRscGet,6            *ローカルリソースゲット
  741.     move.l    a0,ReptbtnHdl+4(a5)
  742.  
  743.     move.w    #482,-(sp)            *1    ACTIVE OFF
  744.     move.l    #'PAT4',-(sp)
  745.     SX    __TSRscGet,6
  746.     move.l    a0,ReptbtnHdl+8(a5)
  747.  
  748.     move.w    #484,-(sp)            *2    ACTIVE ON
  749.     move.l    #'PAT4',-(sp)
  750.     SX    __TSRscGet,6
  751.     move.l    a0,ReptbtnHdl+12(a5)
  752.  
  753.     move.w    #486,-(sp)            *2    HILITE
  754.     move.l    #'PAT4',-(sp)
  755.     SX    __TSRscGet,6
  756.     move.l    a0,ReptbtnHdl+16(a5)
  757.  
  758.     SX    __TSCurResGet,0
  759.     move.l    a0,tmpRes1(a6)
  760.  
  761.     SX    __RMCurResGet,0
  762.     move.l    a0,tmpRes2(a6)
  763.  
  764.     move.l    tmpRes1(a6),-(sp)
  765.     SX    __RMCurResSet,4
  766.  
  767.     pea.l    ReptbtnHdl+4(a5)
  768.     move.w    #130*16,-(sp)
  769.     move.w    #1,-(sp)            *max
  770.     move.w    #0,-(sp)            *min(0に固定)
  771.     move.w    #0,-(sp)            *初期値
  772.     move.w    #-1,-(sp)            *可視
  773.     pea.l    btnttl(pc)
  774.     pea.l    Reptbtn_loc(pc)
  775.     Xpea    winPtr(a5)
  776.     SX    __CMOpen,26
  777.     move.l    a0,ReptbtnHdl(a5)            *cHdl
  778.  
  779.     move.l    tmpRes2(a6),-(sp)
  780.     SX    __RMCurResSet,4
  781.  
  782.     SX    __TSCurResGet,0
  783.     move.l    a0,tmpRes1(a6)
  784.  
  785.     SX    __RMCurResGet,0
  786.     move.l    a0,tmpRes2(a6)
  787.  
  788.     move.l    tmpRes1(a6),-(sp)
  789.     SX    __RMCurResSet,4
  790.  
  791.     pea.l    ReptbtnHdl+4(a5)
  792.     move.w    #130*16,-(sp)
  793.     move.w    #1,-(sp)            *max
  794.     move.w    #0,-(sp)            *min(0に固定)
  795.     move.w    #0,-(sp)            *初期値
  796.     move.w    #-1,-(sp)            *可視
  797.     pea.l    btnttl(pc)
  798.     pea.l    AllRbtn_loc(pc)
  799.     Xpea    winPtr(a5)
  800.     SX    __CMOpen,26
  801.     move.l    a0,AllRbtnHdl(a5)            *cHdl
  802.  
  803.     move.l    tmpRes2(a6),-(sp)
  804.     SX    __RMCurResSet,4
  805.  
  806.     move.l    tmpRes2(a6),-(sp)
  807.     SX    __RMCurResSet,4
  808.  
  809.     SX    __TSCurResGet,0
  810.     move.l    a0,tmpRes1(a6)
  811.  
  812.     SX    __RMCurResGet,0
  813.     move.l    a0,tmpRes2(a6)
  814.  
  815.     move.l    tmpRes1(a6),-(sp)
  816.     SX    __RMCurResSet,4
  817.  
  818.     pea.l    ReptbtnHdl+4(a5)
  819.     move.w    #130*16,-(sp)
  820.     move.w    #1,-(sp)            *max
  821.     move.w    #0,-(sp)            *min(0に固定)
  822.     move.w    #0,-(sp)            *初期値
  823.     move.w    #-1,-(sp)            *可視
  824.     pea.l    btnttl(pc)
  825.     pea.l    RndPbtn_loc(pc)
  826.     Xpea    winPtr(a5)
  827.     SX    __CMOpen,26
  828.     move.l    a0,RndPbtnHdl(a5)            *cHdl
  829.  
  830.     move.l    tmpRes2(a6),-(sp)
  831.     SX    __RMCurResSet,4
  832.  
  833.  
  834.     move.l    tmpRes2(a6),-(sp)
  835.     SX    __RMCurResSet,4
  836.  
  837.     SX    __TSCurResGet,0
  838.     move.l    a0,tmpRes1(a6)
  839.  
  840.     SX    __RMCurResGet,0
  841.     move.l    a0,tmpRes2(a6)
  842.  
  843.     move.l    tmpRes1(a6),-(sp)
  844.     SX    __RMCurResSet,4
  845.  
  846.     pea.l    ReptbtnHdl+4(a5)
  847.     move.w    #130*16,-(sp)
  848.     move.w    #1,-(sp)            *max
  849.     move.w    #0,-(sp)            *min(0に固定)
  850.     move.w    #0,-(sp)            *初期値
  851.     move.w    #-1,-(sp)            *可視
  852.     pea.l    btnttl(pc)
  853.     pea.l    PrgMbtn_loc(pc)
  854.     Xpea    winPtr(a5)
  855.     SX    __CMOpen,26
  856.     move.l    a0,PrgMbtnHdl(a5)            *cHdl
  857.  
  858.     move.l    tmpRes2(a6),-(sp)
  859.     SX    __RMCurResSet,4
  860.  
  861. ***CDC LOGO
  862.     move.w    #600,-(sp)            *0    INACTIVE
  863.     move.l    #'PAT4',-(sp)
  864.     SX    __TSRscGet,6            *ローカルリソースゲット
  865.     move.l    a0,LOGObtnHdl+4(a5)
  866.  
  867.     move.w    #602,-(sp)            *1    ACTIVE
  868.     move.l    #'PAT4',-(sp)
  869.     SX    __TSRscGet,6
  870.     move.l    a0,LOGObtnHdl+8(a5)
  871.  
  872.     move.w    #604,-(sp)            *2    HILITE
  873.     move.l    #'PAT4',-(sp)
  874.     SX    __TSRscGet,6
  875.     move.l    a0,LOGObtnHdl+12(a5)
  876.  
  877.     SX    __TSCurResGet,0
  878.     move.l    a0,tmpRes1(a6)
  879.  
  880.     SX    __RMCurResGet,0
  881.     move.l    a0,tmpRes2(a6)
  882.  
  883.     move.l    tmpRes1(a6),-(sp)
  884.     SX    __RMCurResSet,4
  885.  
  886.     pea.l    LOGObtnHdl+4(a5)
  887.     move.w    #128*16,-(sp)
  888.     move.w    #1,-(sp)            *max
  889.     move.w    #0,-(sp)            *min(0に固定)
  890.     move.w    #0,-(sp)            *初期値
  891.     move.w    #-1,-(sp)            *可視
  892.     pea.l    btnttl(pc)
  893.     pea.l    LOGObtn_loc(pc)
  894.     Xpea    winPtr(a5)
  895.     SX    __CMOpen,26
  896.     move.l    a0,LOGObtnHdl(a5)            *cHdl
  897.  
  898.     move.l    tmpRes2(a6),-(sp)
  899.     SX    __RMCurResSet,4
  900.  
  901.  
  902.  
  903. ***
  904.     Xpea    winPtr(a5)
  905.     SX    __CMDraw,4
  906.  
  907. unlk    a6
  908.     ~T
  909. rts
  910. *==============================================*
  911. CtrlTiniproc::
  912.  
  913.     Xpea    winPtr(a5)
  914.     SX    __CMKill,4
  915.  
  916. rts
  917. *==============================================*
  918. InitWin::
  919.  
  920.         move.l    winRect(a5),d0
  921.         move.w    paramFlg(a5),d1
  922.         btst    #0,d1                *'-W'オプションが指定された?
  923.         beq    _POS0                *されなかったら_POS0へ
  924.  
  925.         bra    _POS1                *X2がX1より小さいか同じ
  926. _POS0:
  927.         SX    __TSGetWindowPos,0
  928.         move.l    d0,winRect(a5)            *デフォルト位置を得る
  929. _POS1:
  930.         add.l    #WIN_X*$10000+WIN_Y,d0        *ウィンドウレクタングルを作成
  931.         move.l    d0,winRect+4(a5)
  932. _POS2:
  933.  
  934.         move.l    taskID(a5),-(sp)    *タスクID
  935.         move.w    #TRUE,-(sp)        *クローズボックスあり
  936.         move.l    #TRUE,-(sp)        *手前に
  937.         move.w    #_WDEF_NUM*16+WINOPT,-(sp)    
  938.  
  939.     ifeq    <tst.b    SW_Flag+SW_I(a5)>
  940.         move.w    #TRUE,-(sp)        *可視
  941.     else
  942.         move.w    #FALSE,-(sp)
  943.     endif
  944.  
  945.         pea.l    WINTITLE(pc)        *LASCII
  946.         pea.l    winRect(a5)        *ウィンドウレクタングル
  947. .if    WINTYPE='H'
  948.         Xpea    winPtr(a5)        *ワーク上に作成
  949. .else
  950. .if    WINTYPE='P'
  951.         pea.l    0.w            *ヒープ上に作成
  952. .endif
  953. .endif
  954.         SX    __WMOpen,26
  955.         tst.l    d0            *エラー?
  956.         bmi    Win_init_ERR        *ならば_INIT_Errへ
  957.         move.w    #-1,winActive(a5)        *アクティブフラグをセット
  958. .if    WINTYPE='P'
  959.         move.l    a0,winPtr(a5)        *winPtrをヒープに確保させた時
  960. .endif
  961.         SETPORT3 winPtr(a5)
  962.         jbsr    InitGraph        *このウィンドウのグラフポートの初期設定
  963.  
  964.     ifne    <tst.b    SW_Flag+SW_I(a5)>
  965. .xref    IcnWinOpen
  966.         jbsr    IcnWinOpen
  967.  
  968.     endif
  969.  
  970.     ~T
  971.     rts
  972. Win_init_ERR:
  973.         ~F
  974.         rts
  975. WINTITLE:
  976.         MAINWIN_NAME
  977. .even
  978.